package com.zyd.mappers;

import com.zyd.io.model.BlackCarEntity;
import com.zyd.io.model.BlackCarEntityExample;
import com.zyd.io.model.BlackCarEntityKey;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;

public interface BlackCarEntityMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @SelectProvider(type=BlackCarEntitySqlProvider.class, method="countByExample")
    long countByExample(BlackCarEntityExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @DeleteProvider(type=BlackCarEntitySqlProvider.class, method="deleteByExample")
    int deleteByExample(BlackCarEntityExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @Delete({
        "delete from zydzn_blackcar",
        "where id = #{id,jdbcType=VARCHAR}"
    })
    int deleteByPrimaryKey(BlackCarEntityKey key);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @Insert({
        "insert into zydzn_blackcar (id, carname, ",
        "mobile, carid, missingtime, ",
        "theftnum, carcolour, ",
        "tagcode, img1, img2, ",
        "img3, note, createtime, ",
        "ts, createid, dr, ",
        "regtime, address, ",
        "state, missdesc, ",
        "backdesc)",
        "values (#{id,jdbcType=VARCHAR}, #{carname,jdbcType=VARCHAR}, ",
        "#{mobile,jdbcType=VARCHAR}, #{carid,jdbcType=VARCHAR}, #{missingtime,jdbcType=VARCHAR}, ",
        "#{theftnum,jdbcType=VARCHAR}, #{carcolour,jdbcType=VARCHAR}, ",
        "#{tagcode,jdbcType=VARCHAR}, #{img1,jdbcType=VARCHAR}, #{img2,jdbcType=VARCHAR}, ",
        "#{img3,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{createtime,jdbcType=VARCHAR}, ",
        "#{ts,jdbcType=VARCHAR}, #{createid,jdbcType=VARCHAR}, #{dr,jdbcType=INTEGER}, ",
        "#{regtime,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, ",
        "#{state,jdbcType=INTEGER}, #{missdesc,jdbcType=VARCHAR}, ",
        "#{backdesc,jdbcType=VARCHAR})"
    })
    int insert(BlackCarEntity record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @InsertProvider(type=BlackCarEntitySqlProvider.class, method="insertSelective")
    int insertSelective(BlackCarEntity record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @SelectProvider(type=BlackCarEntitySqlProvider.class, method="selectByExample")
    @Results({
        @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true),
        @Result(column="carname", property="carname", jdbcType=JdbcType.VARCHAR),
        @Result(column="mobile", property="mobile", jdbcType=JdbcType.VARCHAR),
        @Result(column="carid", property="carid", jdbcType=JdbcType.VARCHAR),
        @Result(column="missingtime", property="missingtime", jdbcType=JdbcType.VARCHAR),
        @Result(column="theftnum", property="theftnum", jdbcType=JdbcType.VARCHAR),
        @Result(column="carcolour", property="carcolour", jdbcType=JdbcType.VARCHAR),
        @Result(column="tagcode", property="tagcode", jdbcType=JdbcType.VARCHAR),
        @Result(column="img1", property="img1", jdbcType=JdbcType.VARCHAR),
        @Result(column="img2", property="img2", jdbcType=JdbcType.VARCHAR),
        @Result(column="img3", property="img3", jdbcType=JdbcType.VARCHAR),
        @Result(column="note", property="note", jdbcType=JdbcType.VARCHAR),
        @Result(column="createtime", property="createtime", jdbcType=JdbcType.VARCHAR),
        @Result(column="ts", property="ts", jdbcType=JdbcType.VARCHAR),
        @Result(column="createid", property="createid", jdbcType=JdbcType.VARCHAR),
        @Result(column="dr", property="dr", jdbcType=JdbcType.INTEGER),
        @Result(column="regtime", property="regtime", jdbcType=JdbcType.VARCHAR),
        @Result(column="address", property="address", jdbcType=JdbcType.VARCHAR),
        @Result(column="state", property="state", jdbcType=JdbcType.INTEGER),
        @Result(column="missdesc", property="missdesc", jdbcType=JdbcType.VARCHAR),
        @Result(column="backdesc", property="backdesc", jdbcType=JdbcType.VARCHAR)
    })
    List<BlackCarEntity> selectByExample(BlackCarEntityExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @Select({
        "select",
        "id, carname, mobile, carid, missingtime, theftnum, carcolour, tagcode, img1, ",
        "img2, img3, note, createtime, ts, createid, dr, regtime, address, state, missdesc, ",
        "backdesc",
        "from zydzn_blackcar",
        "where id = #{id,jdbcType=VARCHAR}"
    })
    @Results({
        @Result(column="id", property="id", jdbcType=JdbcType.VARCHAR, id=true),
        @Result(column="carname", property="carname", jdbcType=JdbcType.VARCHAR),
        @Result(column="mobile", property="mobile", jdbcType=JdbcType.VARCHAR),
        @Result(column="carid", property="carid", jdbcType=JdbcType.VARCHAR),
        @Result(column="missingtime", property="missingtime", jdbcType=JdbcType.VARCHAR),
        @Result(column="theftnum", property="theftnum", jdbcType=JdbcType.VARCHAR),
        @Result(column="carcolour", property="carcolour", jdbcType=JdbcType.VARCHAR),
        @Result(column="tagcode", property="tagcode", jdbcType=JdbcType.VARCHAR),
        @Result(column="img1", property="img1", jdbcType=JdbcType.VARCHAR),
        @Result(column="img2", property="img2", jdbcType=JdbcType.VARCHAR),
        @Result(column="img3", property="img3", jdbcType=JdbcType.VARCHAR),
        @Result(column="note", property="note", jdbcType=JdbcType.VARCHAR),
        @Result(column="createtime", property="createtime", jdbcType=JdbcType.VARCHAR),
        @Result(column="ts", property="ts", jdbcType=JdbcType.VARCHAR),
        @Result(column="createid", property="createid", jdbcType=JdbcType.VARCHAR),
        @Result(column="dr", property="dr", jdbcType=JdbcType.INTEGER),
        @Result(column="regtime", property="regtime", jdbcType=JdbcType.VARCHAR),
        @Result(column="address", property="address", jdbcType=JdbcType.VARCHAR),
        @Result(column="state", property="state", jdbcType=JdbcType.INTEGER),
        @Result(column="missdesc", property="missdesc", jdbcType=JdbcType.VARCHAR),
        @Result(column="backdesc", property="backdesc", jdbcType=JdbcType.VARCHAR)
    })
    BlackCarEntity selectByPrimaryKey(BlackCarEntityKey key);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @UpdateProvider(type=BlackCarEntitySqlProvider.class, method="updateByExampleSelective")
    int updateByExampleSelective(@Param("record") BlackCarEntity record, @Param("example") BlackCarEntityExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @UpdateProvider(type=BlackCarEntitySqlProvider.class, method="updateByExample")
    int updateByExample(@Param("record") BlackCarEntity record, @Param("example") BlackCarEntityExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @UpdateProvider(type=BlackCarEntitySqlProvider.class, method="updateByPrimaryKeySelective")
    int updateByPrimaryKeySelective(BlackCarEntity record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table zydzn_blackcar
     *
     * @mbg.generated Sat Oct 27 08:47:03 CST 2018
     */
    @Update({
        "update zydzn_blackcar",
        "set carname = #{carname,jdbcType=VARCHAR},",
          "mobile = #{mobile,jdbcType=VARCHAR},",
          "carid = #{carid,jdbcType=VARCHAR},",
          "missingtime = #{missingtime,jdbcType=VARCHAR},",
          "theftnum = #{theftnum,jdbcType=VARCHAR},",
          "carcolour = #{carcolour,jdbcType=VARCHAR},",
          "tagcode = #{tagcode,jdbcType=VARCHAR},",
          "img1 = #{img1,jdbcType=VARCHAR},",
          "img2 = #{img2,jdbcType=VARCHAR},",
          "img3 = #{img3,jdbcType=VARCHAR},",
          "note = #{note,jdbcType=VARCHAR},",
          "createtime = #{createtime,jdbcType=VARCHAR},",
          "ts = #{ts,jdbcType=VARCHAR},",
          "createid = #{createid,jdbcType=VARCHAR},",
          "dr = #{dr,jdbcType=INTEGER},",
          "regtime = #{regtime,jdbcType=VARCHAR},",
          "address = #{address,jdbcType=VARCHAR},",
          "state = #{state,jdbcType=INTEGER},",
          "missdesc = #{missdesc,jdbcType=VARCHAR},",
          "backdesc = #{backdesc,jdbcType=VARCHAR}",
        "where id = #{id,jdbcType=VARCHAR}"
    })
    int updateByPrimaryKey(BlackCarEntity record);
}